package org.itrip.dao;

import org.itrip.entity.WebSite;

import java.util.List;

/**
 * Created by 涛 on 2016/3/17.
 */
public interface BaseDAO<T> {

    /**
     * <b>function:</b>添加对象
     * @param t
     */
    public void insert(T t);

    /**
     * <b>function:</b>根据ID查找对象
     * @param id
     * @return
     */
    public T queryOne(String id);

    /**
     * <b>function:</b>查询所有
     * @return
     */
    public List<T> queryAll();

    /**
     * <b>function:</b>查询所有与正则表达式 <code>regex</code>匹配的对象
     * @param regex
     * @return
     */
    public List<T> queryByRegex(String regex);

    /**
     * <b>function:</b>删除指定的ID对象
     * @param id
     */
    public void removeOne(String id);

    /**
     * <b>function:</b>删除所有
     */
    public void removeAll();

    /**
     * <b>function:</b>通过ID找到并修改
     * @param id
     */
    public void queryAndModify(String id);

}
